home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1989 February / 64er_Magazin_89-02_1989_Markt__Technik_de_Disk_1_of_2_Side_A.d64 / sub dir 1.1 (.txt) < prev   
Commodore BASIC  |  2022-10-26  |  5KB  |  258 lines

  1. 100 rem ******************
  2. 110 rem *                *
  3. 120 rem * sub dir system *
  4. 130 rem *                *
  5. 140 rem ******************
  6. 150 rem
  7. 160 rem (c) 1988 by
  8. 170 rem dirk jansen
  9. 180 rem
  10. 190 rem ver 1.1 - 21.07.88
  11. 200 rem ==================
  12. 210 :
  13. 220 print chr$(147)
  14. 230 print tab(13);"sub dir system"
  15. 240 print
  16. 250 print tab(13);"v1.1  21.07.88"
  17. 260 print
  18. 270 print tab(8);"(c) 1988 by dirk jansen"
  19. 280 print
  20. 290 print"========================================"
  21. 300 gosub 4000:rem * geraete nummern abfragen
  22. 340 print chr$(147)
  23. 350 print"***** sub dir system v 1.1 *****"
  24. 360 print
  25. 370 print"geraet:";u,"laufwerk: ";d$
  26. 380 print:print
  27. 390 print" 1 - sub dir system anlegen"
  28. 400 print
  29. 410 print" 2 - sub dir anlegen"
  30. 420 print
  31. 430 print" 3 - disk befehl"
  32. 440 print
  33. 450 print" 4 - inhaltsverzeichnis"
  34. 460 print
  35. 470 print" 5 - geraete nummen aendern"
  36. 480 print
  37. 490 print" 0 - programm ende"
  38. 500 print:print
  39. 510 input"ihre wahl";o
  40. 520 on o+1 gosub 1000,10000,20000,2000,3000,4000
  41. 530 goto 340
  42. 970 :
  43. 980 rem *** ende ***
  44. 990 :
  45. 1000 sys 64738
  46. 1970 :
  47. 1980 rem *** disk befehl ***
  48. 1990 :
  49. 2000 print
  50. 2010 poke 198,3
  51. 2020 poke 631,34
  52. 2030 poke 632,20
  53. 2040 poke 633,34
  54. 2050 a$=""
  55. 2060 input"befehl";a$
  56. 2070 open 15,u,15
  57. 2080 if a$="" then 2200
  58. 2090 print#15,a$
  59. 2200 print
  60. 2210 print"status: ";
  61. 2220 get#15,e$:if e$<>chr$(13) then print e$;:goto 2220
  62. 2230 close 15
  63. 2240 print:print:print"- taste druecken -"
  64. 2250 get a$:if a$="" then 2250
  65. 2260 return
  66. 2970 :
  67. 2980 rem *** inhaltsverzeichnis ***
  68. 2990 :
  69. 3000 print
  70. 3010 open 1,u,0,"$"+d$
  71. 3020 poke 781,1
  72. 3040 get#1,a$,a$
  73. 3050 get#1,a$,a$:if st = 64 then 3110
  74. 3060 : get#1,a$,b$:print chr$(157);asc(a$+chr$(0))+256*asc(b$+chr$(0));
  75. 3070 : get#1,a$:print a$;:if a$<>"" then 3070
  76. 3080 : print
  77. 3090 goto 3050
  78. 3110 close 1
  79. 3120 print:print:print"- taste druecken -"
  80. 3130 get a$:if a$="" then 3130
  81. 3140 return
  82. 3970 :
  83. 3980 rem *** geraete nummern aendern ***
  84. 3990 :
  85. 4000 print
  86. 4010 input"geraete nummer? 8[157][157][157]";u
  87. 4020 if u<8 or u>15 then 4010
  88. 4030 input"laufwerk      ? 0[157][157][157]";d$
  89. 4040 if d$<>"0" and d$<>"1" then 4040
  90. 4050 return
  91. 9970 :
  92. 9980 rem *** system anlegen ***
  93. 9990 :
  94. 10000 open 15,u,15,"i"+d$
  95. 10010 input#15,e1,e2$,e3,e4
  96. 10020 if e1=0 then 10100
  97. 10030 print
  98. 10040 print"*** disk: ";e1;e2$;e3;e4;"***"
  99. 10050 print
  100. 10060 return
  101. 10100 open 2,u,2,"#"
  102. 10110 print#15,"u1 2 ";d$;" 18 1"
  103. 10112 for i=2 to 226 step 32
  104. 10120 : print#15,"b-p 2";i
  105. 10130 : get#2,t$
  106. 10150 : if t$<>"" then 10170
  107. 10160 next i
  108. 10162 print#15,"b-p 2 0"
  109. 10164 get#2,t$
  110. 10166 if t$="" then 10220
  111. 10170 : print
  112. 10180 : print"*** disk ist nicht leer ***"
  113. 10190 : print
  114. 10200 : input"disk loeschen(j/n)? n[157][157][157]";a$
  115. 10210 : if a$="n" then close 2:close 15:return
  116. 10220 : print:print"impressum schreiben"
  117. 10222 print#15,"b-p 2 00"
  118. 10230 print#2,chr$(0);chr$(255);
  119. 10240 for i=0 to 7
  120. 10242 : print#15,"b-p 2";i*32+2
  121. 10250 : print#2,chr$(195);chr$(18);chr$(0);
  122. 10260 : read a$
  123. 10270 : print#2,left$(a$+"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]",16);
  124. 10280 : print#2,chr$(0);chr$(0);chr$(0);
  125. 10290 : print#2,"dirk";
  126. 10300 : print#2,chr$(0);chr$(0);
  127. 10310 : print#2,chr$(0);chr$(0);
  128. 10320 next i
  129. 10330 print#15,"u2 2 ";d$;" 18 01"
  130. 10340 print:print"root dir anlegen"
  131. 10350 close 2
  132. 10360 close 15
  133. 10370 n$="======root======":rem -name uebergeben
  134. 10380 gosub 30000:rem - dir anlegen
  135. 10470 open 15,u,15
  136. 10480 print:print"init disk"
  137. 10490 print#15,"i";d$
  138. 10500 print:print"validate disk"
  139. 10510 print#15,"v";d$
  140. 10520 close 15
  141. 10530 return
  142. 10662 print#15,"b-p 2 0"
  143. 10664 get#2,t$
  144. 10666 if t$<>"" then 10180
  145. 12000 data " sub dir system "
  146. 12010 data "(w) '88 d.jansen"
  147. 12020 data "                "
  148. 12030 data "use disk command"
  149. 12040 data "   &xxxxxx to   "
  150. 12050 data "   change dir   "
  151. 12060 data "                "
  152. 12070 data " don't validate "
  153. 19970 :
  154. 19980 rem *** dir anlegen ***
  155. 19990 :
  156. 20000 print
  157. 20010 n$="":input"dir name (max 15 zeicen)";n$
  158. 20020 if len(n$)>15 or len(n$)<1 then 20010
  159. 20030 n1$=n$
  160. 20040 if len(n$)<16 then n$="="+n$+"=":goto 20040
  161. 20050 n$=left$(n$,16)
  162. 21000 print:print"dir anlegen"
  163. 21010 gosub 30000:rem - dir anlegen
  164. 21900 restore
  165. 21910 for i=0 to 7
  166. 21920 : read a$
  167. 21930 next i
  168. 22000 print:print"umschalt befehl anlegen t:";t;" s:";s
  169. 22010 open 2,u,2,"&"+n1$+",u,w"
  170. 22020 print#2,chr$(0);chr$(5);:rem - startadresse
  171. 22030 print#2,chr$(35);:rem - anzahl bytes
  172. 22040 p=0
  173. 22050 for i=1 to 35
  174. 22060 : read a
  175. 22070 : if a=-1 then a=t
  176. 22080 : if a=-2 then a=s
  177. 22090 : p=p+a:if p>255 then p=p-255
  178. 22100 : print#2,chr$(a);
  179. 22110 next i
  180. 22120 p=p+5+35
  181. 22130 p=p-(255*int(p/256))
  182. 22140 print#2,chr$(p);
  183. 22150 close 2
  184. 23000 print:print"umschalten"
  185. 23010 open 15,u,15
  186. 23020 open 2,u,2,"#"
  187. 23030 print#15,"u1 2 ";d$;" 18 01"
  188. 23040 print#15,"b-p 2 0"
  189. 23050 get#2,t$,s$
  190. 23060 t=asc(t$+chr$(0))
  191. 23070 s=asc(s$+chr$(0))
  192. 23080 close 2
  193. 23090 print#15,"&"+n1$
  194. 23100 close 15
  195. 23900 restore
  196. 23910 for i=0 to 7
  197. 23920 : read a$
  198. 23930 next i
  199. 24000 print:print"rueckschalt befehl anlegen  t:";t;" s:";s
  200. 24010 open 2,u,2,"&back,u,w"
  201. 24020 print#2,chr$(0);chr$(5);:rem - startadresse
  202. 24030 print#2,chr$(35);:rem - anzahl bytes
  203. 24040 p=0
  204. 24050 for i=1 to 35
  205. 24060 : read a
  206. 24070 : if a=-1 then a=t
  207. 24080 : if a=-2 then a=s
  208. 24090 : p=p+a:if p>255 then p=p-255
  209. 24100 : print#2,chr$(a);
  210. 24110 next i
  211. 24120 p=p+5+35
  212. 24130 p=p-(255*int(p/256))
  213. 24140 print#2,chr$(p);
  214. 24150 close 2
  215. 25000 print:print"rueckschalten"
  216. 25010 open 15,u,15
  217. 25020 print#15,"&back"
  218. 25030 close 15
  219. 25040 return
  220. 29970 :
  221. 29980 rem *** dir anlegen ***
  222. 29990 :
  223. 30000 open 15,u,15
  224. 30010 open 2,u,2,"#"
  225. 30020 print#15,"u1 2 ";d$;" 18 01"
  226. 30030 print#15,"b-p 2 0"
  227. 30040 get#2,t$
  228. 30050 t1=asc(t$+chr$(0))
  229. 30070 print#15,"b-a ";d$;" 18 00"
  230. 30080 input#15,a,a$,t,s
  231. 30090 print#15,"b-a ";d$;t;s
  232. 30100 print#15,"b-p 2 00"
  233. 30110 print#2,chr$(0);chr$(255);
  234. 30120 print#2,chr$(195);chr$(18);chr$(0);
  235. 30130 print#2,left$(n$+"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]",16);
  236. 30140 print#2,chr$(0);chr$(0);chr$(0);
  237. 30150 print#2,"dir ";
  238. 30160 print#2,chr$(0);chr$(0);
  239. 30170 print#2,chr$(0);chr$(0);
  240. 30180 print#2,chr$(0);chr$(0);
  241. 30260 for i=34 to 253
  242. 30270 : print#2,chr$(0);
  243. 30280 next i
  244. 30300 print#15,"u2 2 ";d$;t;s
  245. 30310 if t1=18 then 30500
  246. 30320 : print#15,"u1 2 ";d$;" 18 01"
  247. 30330 : print#15,"b-p 2 0"
  248. 30340 : print#2,chr$(t);chr$(s);
  249. 30350 : print#15,"u2 2 ";d$;" 18 01"
  250. 30500 close 15
  251. 30510 close 2
  252. 30520 return
  253. 39970 :
  254. 39980 rem *** daten fuer & file ***
  255. 39990 :
  256. 40000 data169,18,133,8,169,1,133,9,169,128,133,1,165,1,48,252,169,-1,141,0,4
  257. 40010 data169,-2,141,1,4,169,144,133,1,165,1,48,252,96
  258.